Contrasting compile-time meta-programming in Metalua and Converge

نویسندگان

  • Fabien Fleutot
  • Laurence Tratt
چکیده

Powerful, safe macro systems allow programs to be programatically constructed by the user at compile-time. Such systems have traditionally been largely confined to LISP-like languages and their successors. In this paper we describe and compare two modern, dynamically typed languages Converge and Metalua, which both have macro-like systems. We show how, in different ways, they build upon traditional macro systems to explore new ways of constructing programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compile-time meta-programming in Converge

Compile-time meta-programming allows programs to be constructed by the user at compile-time. Few modern languages are capable of compile-time meta-programming, and of those that do, many of the most powerful are statically typed functional languages. In this paper I present the dynamically typed, object orientated language Converge which allows compile-time meta-programming in the spirit of Tem...

متن کامل

Preprocessing C + + : Substitution and Composition

Problems with the lexical substitution mechanism of the C preprocessor are well known. We resolve these problems with a new syntax-based substitution mechanism for C++ based on meta-variables and metafunctions. Implementation of these meta-concepts in a C++ style leads naturally to meta-expressions and then meta-statements and a generalisation of C++ syntax. We show how meta-compilation renders...

متن کامل

Unification of Compile-time and Run-time Metaobject Protocols

In this paper, we propose the unification of compile-time and run-time Metaobject Protocols (MOPs), to improve the efficiency and flexibility of object-oriented operating systems. We also propose a reflective programming system, named Cognac, which employs unified MOPs and provides language and runtime facilities for the Apertos object-oriented distributed operating system. In Cognac, each obje...

متن کامل

Combining Security with Meta Programming in Java

This article investigates the security issues raised by the use of meta-programming systems with Java. For each possible type of MOP (compile-time, load-time, etc.), we study what are the permissions required for both the base and the meta-level protection domains, taking into account the ow of control between the di erent parts of the application. We show that the choice of a particular MOP ar...

متن کامل

Modelling Homogeneous Generative Meta-Programming

Homogeneous generative meta-programming (HGMP) enables the generation of program fragments at compile-time or run-time. We present a foundational calculus which can model both compile-time and run-time evaluated HGMP, allowing us to model, for the first time, languages such as Template Haskell. The calculus is designed such that it can be gradually enhanced with the features needed to model man...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007